文档说明:客户在开发 STM32U5 SBSFU 过程中,原本 APP_NS 使用了整个 SRAM3 的 512K 大小的内存,但后来由于需求变更,要将 SRAM3 中前 32K 的内存分给 APP_S 用。客户调整代码后,发现触发了SecureFault 中断。尝试查找问题所在,但一直没找到。本文将基于此问题背景,向读取呈现如何调试并定位一个 trustzone 相关问题的过程,以增加读者的调试经验。
文档说明:本文所描述的问题,正是由于 MPCBB2(Boot 工程对应的 RAM)没有配置,其默认为Secure+Prileged 属性,但 DMA 默认属性为NonSecre+NonPrileged。代码中只配置 DMA通道为 Secure 属性,并没有配置其为 Prileged,因此导致其访问 SRAM2 时失败,这也就是为什么发送内容全为 0 的原因了。这也提醒我们,在开发trustzone 相关的项目时,对各个资源的安全属性配置一定要小心。
文档说明:本文的主要内容将围绕在如何添加客户自定义的服务而展开.
文档说明:本文档通过一个动手实验, 详细演示了如何在 STM32H573 上实现一个 STiROT 的功能, 旨在针对那些 OEM 想使用 STM32H573 芯片内置的 STiROT 功能而又不知如何开始的开发者。
文档说明:本文档通过一个动手实验, 详细演示了如何在 STM32H563 上运行一个 OEMiROT 的功能. 旨在针对那些 OEM 想自己实现一个基于 STM32H563 上的 iROT 功能而又不知如何开始的开发者.
文档说明:本文是上文 《STM32H5 DA 之初体验(带 TrustZone)》的后续之作。倘若你还没有阅读此文,那么建议你先阅读下,然后再回过头来阅读本文。
文档说明:STM32H5 是 ST 2023 年新推出的产品系列, 与以往 MCU 不同的是, STM32H5 推出新的product state 功能特性以替代以往的 RDP 功能。
文档说明:本文是接着之前文档《STM32H5 DA 之初体验(带 TrustZone)》的后续之作。
文档说明:我们知道在某些较为复杂的应用中,往往还会用到 RTOS,在这个系列的最后一篇,我们将主要讨论 STM32MCU 应用程序开发中,在 TrustZone 环境下使用 RTOS 时的情况以及相关软件开发的一些注意事项,供开发者参考。
文档说明:这篇文档把重点放在Trust Zone架构下应用开发中使用外设的环节,从外设中断、DMA、GPIO及其与IO连接的外设等几个方面,介绍这些部分与传统的不带TrustZone的STM32开发相比有哪些变化,同时会列举一些相关开发中的常见问题,并给出问题的分析与解决方法,供开发者参考。
文档说明:客户使用 STM32G070RBT6 给海外用户开发产品,由于当地新需求,产品需要增加安全启动的功能。 但是由于 X-Cube-SBSFU 包提供的示例中,只有基于STM32G071 的示例。客户因此询问该怎么移植。本文将讲解这个移植过程。
文档说明:在 STM32 TrustZone 开发调试技巧的前两篇中,我们介绍了内核的SAU/IDAU,地址的安全属性配置,资源的安全属性配置,内核访问资源的安全规则,以及TrustZone 环境下外设使用的常见问题等内容。TrustZone 环境开发中还可能经常遇到的一个问题就是软件触发的故障错误。
文档说明:本文将对 SAU/IDAU 配置,Memory 的自身安全属性配置,以及内核访问指令与数据时的安全访问规则加以阐述,希望可以帮助相关开发者更好地理解 V8M TrustZone 的架构以及在 STM32 中的实现,同时,还会列举一些与 memory 的 TrustZone 安全配置相关的常见问题及分析方法,给开发者做参考。
文档说明:客户使用 STM32U5 进行开发,并使能了 TrustZone 架构,程序需要从 bootloader 跳转到app。在之前版本都是正常跳转的,某一天 IAR 从 9.20 升级到 9.30 后,程序跳转失败,并且会导致 hardfault,想知道为什么会失败。
文档说明:客户使用的是STM32H753,使用ST 官方的SBSFU V2.3 做安全启动,反馈在从 SBSFU 跳转到用户程序APP 的过程中小概率会卡住。。后来发现客户使用的是 H753 Y 版本,且运行在480MHz,但是Y 版本的H753 当前早已停产,市场上的都是市场残留,且Y 版本的H753 最高主频为400MHz,也就是说客户当前的MCU 是处于超频状态,且最终客户量产时的芯片必然是最新的V 版本。
文档说明:在X-CUBE-SBSFU 使用技巧的第一篇,我们对软件包及其软件架构等进行介绍,让 读者对这个软件包有一个初步认识。
文档说明:本篇我们将介绍SBSFU 和用户应用程序集成相关的内容。
文档说明:本篇将讨论如何将SBSFU 参考实现从一个STM32 MCU平台移植到另外一个STM32 MCU 型号的硬件平台。
文档说明:本篇我们将以STM32H7 为例,讨论如何基于STM32H7 单核的SBSFU 参考实现移植到双核STM32H7平台上,并与STM32H7 上的双核应用进行集成。
文档说明:保护片外存储器上代码(包括指令/数据)的机密性,同时保证代码执行的效率
文档说明:STM32U5在芯片生命周期管理方面在STM32L5的基础做了进一步的改进,引入了OEM Key机制,使得RDP的级别状态转换能够通过OEM设置的password进行保护,一方面能够防止RDP任意降级,避免设备被远程攻击注入恶意代码后通过RDP降级变砖的风险,另一方面也使得RDP2降级成为可能,给产品后期维护带来更多的灵活性。
文档说明:
文档说明:STM32WB的密钥安全存储和使用
文档说明:使用STM32H7安全用户存储区控制调试端口访问保护代码安全
文档说明:基于防火墙和PCROP实现关键数据和代码在L0上的保护
文档说明:使用STM32H7 安全新特性实现敏感数据的安全存储与使用
文档说明:使用STM32L5 TrustZone特性控制调试端口访问保护代码安全
文档说明:本文针对使用STM32开发比特币的客户,对STM32加密库的椭圆曲线参数和点乘函数做了补充说明,方便STM32客户进行开发比特币应用。
文档说明:目标 :• 保护外置Flash中的代码和数据的机密性 • 同时提高外部Flash中代码的运行效率
文档说明:STM32L5在trustzone使能情况下使用,需要用户根据应用要求,规划好Flash和 SRAM上的安全区域和非安全区域。由于trustzone环境下CPU对存储区访问规则的 限制,这套规划方案会涉及到几方面的设置
文档说明:需要解决的问题和达到的目标: • 用户需要将一部分数据写入NVM,一次性希望写入后该部分数据不能再被修改 • 该端数据只能被部分关键代码访问,其他的应用数据无法直接读取该段数据的内容
文档说明:本文将以用户的视角描述如何在STM32L5中关闭Trustzone。
文档说明:STM32 X-CUBE-SBSFU 软件包提供了安全启动与固件更 新功能,可以让用户从高层次来使用STM32 的各项安全功能。本文则是带领读者一 步一步来体验STM32 安全启动与安全固件更新。
文档说明:STM32 防火墙(Firewall)能够构建一个与其它代码隔离的带有数据存储的可信任代码区域,结合RDP、WRP以及PCROP,可用来保护安全敏感的算法。在STM32 Cube固件库参考代码里提供了几个不同的防火墙配置。那么问题来了,什么是STM32防火墙的应该使用的安全配置呢?本文以STM32参考手册为基础,以最大化安全为目标,来探索发现STM32防火墙的推荐配置。
文档说明:STM32 PCROP专有代码读出保护,将某个区域设置为仅允许执行,可防止代码被非法读出与修改。ST网站提供了免费的PCROP参考代码,但是例程中仅仅提供了用代码设置PCROP。为方便利用PCROP进行知识产权保护的开发和部署,这篇文章提供了方法, 可在RDP级别设置为1或者0时,使用代码清除PCROP。
文档说明:某公司用ST的STM32L476在水表上,在开启时钟安全系统(CSS)之后,发现MCU重启后,LSE无**常启动,通过示波器看,发现LSE已经正常起振。这是由于他们对CSS的了解不够,应用错误导致,下面我们来深入了解一下MCU内部的时钟安全系统。
文档说明:某客户在其产品的设计中,使用了STM32F411VET6。客户工程师在开发过程中,尝试使用STM32 ST-LINK Utility 软件配合 ST-LINK 给32F411EDISCOVERY 板上的STM32 加上Level 1 的读保护。工程师发 现,原本在板子上正常运行的代码,加上读保护后,就不运行了。按了板上的RESET 按键也无济于事。
文档说明:PCROP 为Proprietary code readout protection 的缩写,也就是说这是一个专有代码读出保护的功能。与RDP 对整片Flash读保护不同的是,它只是针对Flash 的某些特定区域进行代码的读写保护。所以它可以被用来保护一些IP 代码,方便进行二次开发。它存在于许多STM32 的型号中,如STM32F401、STM32F411、STM32F427/437、STM32F429/439、STM32F446、STM32F469/479,STM32L476/486,等等。对于PCR